package vehiculo;

public abstract class IdentidadAbstracta implements Identidad {

	private Vehiculo vehiculo;

	@Override
	public void setVehiculo(Vehiculo v) {

		this.vehiculo = v;

	}

	@Override
	public Vehiculo getVehiculo() {
		return this.vehiculo;
	}

	@Override
	public void sumarMovimientos(int movimientos) {

		this.vehiculo.sumarMovimiento(movimientos);

	}

	@Override
	public void sumarSorpresas(int sorpresas) {

		this.vehiculo.aplicarSorpresa(sorpresas);

	}

	@Override
	public void mutar4Por4() {

		this.vehiculo.setEstado(new Identidad4por4());

	}

	public void mutarMoto() {

		this.vehiculo.setEstado(new IdentidadMoto());

	}

	@Override
	public void mutarAuto() {

		this.vehiculo.setEstado(new IdentidadAuto());

	}
	
	public void noAvanzar(){
		this.vehiculo.noAvanzar();
	}

}
